# 计算准确度的工具

# 分类的准确度
# y_true 测试数据集中 标签向量原始数据
# y_predict 测试数据特征矩阵 被算法分类后的标签向量
def accuracy_score(y_true, y_predict):
    return sum(y_true == y_predict) / len(y_true)
import numpy as np
# MSE
def mean_squared_error(y_true,y_predict):
    return np.sum((y_true - y_predict) ** 2) / len(y_true)

# RMSE
def root_mean_squared_error(y_true,y_predict):
    return mean_squared_error(y_true,y_predict) ** 0.5

# MAE
def mean_absolute_error(y_true,y_predict):
    return np.sum(np.absolute(y_true - y_predict)) / len(y_true)

# R Squared
def r2_score(y_true,y_predict):
    return 1 - mean_squared_error(y_true,y_predict) / np.var(y_true)